package com.cskaoyan.java.object._0introduction;
/**
 * Object类的引入
 * Object类，我们
 *
 * 虽然我们没有详细了解，但我们知道了：Object类是所有类继承层次的祖先类，Java中所有类（包括数组）都直接或者间接的继承自该类，都实现了该类的方法。
 *
 * 自定义类时，我们并不需要特别的标注extends Object，这是一个隐式的继承。
 *
 * 如果一个类没有明确的指出它的父类是谁，那么Object类就默认是这个类的直接父类。
 *
 * Object类是没有成员变量定义的，并且由于子类对象的隐式初始化，Object类有且仅有一个默认提供的无参构造方法。
 *
 * 我们学习Object类，主要关注它的成员方法。
 *
 * public final Class getClass()
 * public String toString()
 * public boolean equals(Object obj)
 * public int hashCode()
 * protected void finalize()
 *      finalize这个方法虽然定义在Object类当中
 *      但实际上它并没有任何作用 是一个无效的方法
 *      从Java9开始,该方法已经被注解"@Deprecated"标记了
 *      表示它是一个已经被放弃使用的方法
 *
 *      我们在开发中,不要使用被注解"@Deprecated"标记的方法以及类
 *
 * protected Object clone()
 *
 *
 * @since 10:43
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        test();
        // 不要调用过时方法
        test2();
    }

    public static void test(){}
    @Deprecated
    public static void test2(){}
}
